package org.example.c2;

import lombok.extern.slf4j.Slf4j;

/**
 * @author liu-rui
 * @date 2020/5/27 下午6:14
 * @description 线程安全问题
 * 累加器。通过10个线程，每个线程累加１０００,最终结果应该是１００００，由于线程安全问题，造成结果未知。
 * @since
 */
@Slf4j
public class Demo0 {
    public static void main(String[] args) throws InterruptedException {
        SumTask sumTask = new SumTask();
        sumTask.exec(new Counter());
    }

    /**
     * 非线程安全
     */
    static class Counter implements ICounter {
        private int sum;

        @Override
        public void add(int data) {
            sum += data;
        }

        @Override
        public int getSum() {
            return sum;
        }
    }
}
